<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>IDA SDK: abstract_graph_t Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">IDA SDK
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="files.html"><span>Header&#160;Files</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classabstract__graph__t-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">abstract_graph_t Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Abstract graph interface. </p>
</div>
<p>Inherits <a class="el" href="classgdl__graph__t.html">gdl_graph_t</a>.</p>

<p>Inherited by <a class="el" href="classmutable__graph__t.html">mutable_graph_t</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a97db2f403faeb9b33ae919dd379b08d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97db2f403faeb9b33ae919dd379b08d7"></a>
<a class="el" href="pro_8h.html#a386c10c6aa4340f1d63df85f40454fce">qstring</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a97db2f403faeb9b33ae919dd379b08d7">title</a></td></tr>
<tr class="memdesc:a97db2f403faeb9b33ae919dd379b08d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">graph title <br /></td></tr>
<tr class="separator:a97db2f403faeb9b33ae919dd379b08d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18f4333cbb5733868b944a378c441128"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18f4333cbb5733868b944a378c441128"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a18f4333cbb5733868b944a378c441128">rect_edges_made</a></td></tr>
<tr class="memdesc:a18f4333cbb5733868b944a378c441128"><td class="mdescLeft">&#160;</td><td class="mdescRight">have create rectangular edges? <br /></td></tr>
<tr class="separator:a18f4333cbb5733868b944a378c441128"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abed2d7043d91a2a36a59954a96477bfc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abed2d7043d91a2a36a59954a96477bfc"></a>
<a class="el" href="graph_8hpp.html#a5b8e7dd25431c0cf4ca4709239f2e65f">layout_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#abed2d7043d91a2a36a59954a96477bfc">current_layout</a></td></tr>
<tr class="memdesc:abed2d7043d91a2a36a59954a96477bfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">see <a class="el" href="group__layout__.html">Proximity view layouts</a> <br /></td></tr>
<tr class="separator:abed2d7043d91a2a36a59954a96477bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc4f317f4641327fcad7c814bc938a2a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc4f317f4641327fcad7c814bc938a2a"></a>
<a class="el" href="structpoint__t.html">point_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#afc4f317f4641327fcad7c814bc938a2a">circle_center</a></td></tr>
<tr class="memdesc:afc4f317f4641327fcad7c814bc938a2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">for layout_circle <br /></td></tr>
<tr class="separator:afc4f317f4641327fcad7c814bc938a2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0c7e25aca53e75ebd99e8b4dcdeadde"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab0c7e25aca53e75ebd99e8b4dcdeadde"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#ab0c7e25aca53e75ebd99e8b4dcdeadde">circle_radius</a></td></tr>
<tr class="memdesc:ab0c7e25aca53e75ebd99e8b4dcdeadde"><td class="mdescLeft">&#160;</td><td class="mdescRight">for layout_circle <br /></td></tr>
<tr class="separator:ab0c7e25aca53e75ebd99e8b4dcdeadde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9426dc8f191d3064121eaf06482f050"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9426dc8f191d3064121eaf06482f050"></a>
<a class="el" href="idp_8hpp.html#acf012fe005690e1af26e799617fc98b7">hook_cb_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#ab9426dc8f191d3064121eaf06482f050">callback</a></td></tr>
<tr class="memdesc:ab9426dc8f191d3064121eaf06482f050"><td class="mdescLeft">&#160;</td><td class="mdescRight">user-defined callback <br /></td></tr>
<tr class="separator:ab9426dc8f191d3064121eaf06482f050"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0b63c027a023df00339d30c66f2854b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0b63c027a023df00339d30c66f2854b"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#ae0b63c027a023df00339d30c66f2854b">callback_ud</a></td></tr>
<tr class="memdesc:ae0b63c027a023df00339d30c66f2854b"><td class="mdescLeft">&#160;</td><td class="mdescRight">user data for <a class="el" href="classabstract__graph__t.html#ab9426dc8f191d3064121eaf06482f050" title="user-defined callback ">callback</a> <br /></td></tr>
<tr class="separator:ae0b63c027a023df00339d30c66f2854b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8b920fb0cd38a4a236c396969f31e468"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b920fb0cd38a4a236c396969f31e468"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> (void)</td></tr>
<tr class="separator:a8b920fb0cd38a4a236c396969f31e468"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2a0450a7547ba97ff15dfa797202a5a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2a0450a7547ba97ff15dfa797202a5a"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>dump_graph</b> (const char *header) const </td></tr>
<tr class="separator:af2a0450a7547ba97ff15dfa797202a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87df7b42fd7d8af786d0270b17d62ec9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87df7b42fd7d8af786d0270b17d62ec9"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>calc_bounds</b> (<a class="el" href="structrect__t.html">rect_t</a> *r)</td></tr>
<tr class="separator:a87df7b42fd7d8af786d0270b17d62ec9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfb320020fb111c84f3e81f63ecbf1a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfb320020fb111c84f3e81f63ecbf1a0"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>calc_fitting_params</b> (const <a class="el" href="structrect__t.html">rect_t</a> &amp;area, graph_location_info_t *gli, double max_zoom)</td></tr>
<tr class="separator:adfb320020fb111c84f3e81f63ecbf1a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a773bebe7c94430a60b6c2f4b98d5b5c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a773bebe7c94430a60b6c2f4b98d5b5c2"></a>
int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>for_all_nodes_edges</b> (<a class="el" href="classgraph__visitor__t.html">graph_visitor_t</a> &amp;nev, bool <a class="el" href="classabstract__graph__t.html#a1b5fea46ace6b1d8647b8dc18f9e4749">visit_nodes</a>=true)</td></tr>
<tr class="separator:a773bebe7c94430a60b6c2f4b98d5b5c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2ec2f73aef45b56cb48722801f75096"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2ec2f73aef45b56cb48722801f75096"></a>
const <a class="el" href="structedge__info__t.html">edge_info_t</a> *<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get_edge_ports</b> (<a class="el" href="structedge__t.html">edge_t</a> e, <a class="el" href="structpoint__t.html">point_t</a> &amp;s, <a class="el" href="structpoint__t.html">point_t</a> &amp;d) const </td></tr>
<tr class="separator:ac2ec2f73aef45b56cb48722801f75096"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ab8a1cbf9059e7beaf0316fafb75b32"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ab8a1cbf9059e7beaf0316fafb75b32"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>add_node_edges</b> (<a class="el" href="graph_8hpp.html#a26a3afa7e647348ae4180e4ec3420ce6">edgevec_t</a> &amp;dlist, int node)</td></tr>
<tr class="separator:a3ab8a1cbf9059e7beaf0316fafb75b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01c1c5fed2b2995bc52194734e1e172a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01c1c5fed2b2995bc52194734e1e172a"></a>
const <a class="el" href="structrect__t.html">rect_t</a> &amp;<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>nrect</b> (int n) const </td></tr>
<tr class="separator:a01c1c5fed2b2995bc52194734e1e172a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9a8fcc25d7f097320cc3c239622cac0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad9a8fcc25d7f097320cc3c239622cac0"></a>
const <a class="el" href="structedge__info__t.html">edge_info_t</a> *<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get_edge</b> (<a class="el" href="structedge__t.html">edge_t</a> e) const </td></tr>
<tr class="separator:ad9a8fcc25d7f097320cc3c239622cac0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea3c3336fc9034cb272c848850dbc106"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea3c3336fc9034cb272c848850dbc106"></a>
virtual <a class="el" href="structrect__t.html">rect_t</a> &amp;<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>nrect</b> (int n)=0</td></tr>
<tr class="separator:aea3c3336fc9034cb272c848850dbc106"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a038b7c5abca69ed48db3023513d01ff2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a038b7c5abca69ed48db3023513d01ff2"></a>
virtual <a class="el" href="structedge__info__t.html">edge_info_t</a> *<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get_edge</b> (<a class="el" href="structedge__t.html">edge_t</a> e)=0</td></tr>
<tr class="separator:a038b7c5abca69ed48db3023513d01ff2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27e879243e556d63d0c2c420b9db60da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27e879243e556d63d0c2c420b9db60da"></a>
virtual <a class="el" href="classabstract__graph__t.html">abstract_graph_t</a> *<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>clone</b> (void) const  =0</td></tr>
<tr class="separator:a27e879243e556d63d0c2c420b9db60da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bfe2ec916f9983c9b27c5ba743ef8ac"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0bfe2ec916f9983c9b27c5ba743ef8ac"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>create_tree_layout</b> (void)</td></tr>
<tr class="separator:a0bfe2ec916f9983c9b27c5ba743ef8ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af215b353b9afcd56f68e2c5c5e8355df"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af215b353b9afcd56f68e2c5c5e8355df"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>create_circle_layout</b> (<a class="el" href="structpoint__t.html">point_t</a> p, int radius)</td></tr>
<tr class="separator:af215b353b9afcd56f68e2c5c5e8355df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5e5c56baa38376df124ec09efc90908"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5e5c56baa38376df124ec09efc90908"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>create_polar_tree_layout</b> (<a class="el" href="structpoint__t.html">point_t</a> p, int radius)</td></tr>
<tr class="separator:af5e5c56baa38376df124ec09efc90908"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd30bf5e87669bdfd32676de0ad0fde3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd30bf5e87669bdfd32676de0ad0fde3"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>create_radial_tree_layout</b> (<a class="el" href="structpoint__t.html">point_t</a> p, int radius)</td></tr>
<tr class="separator:acd30bf5e87669bdfd32676de0ad0fde3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add1a2a70d5eb20e4f7e78864a21e9a89"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add1a2a70d5eb20e4f7e78864a21e9a89"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>create_orthogonal_layout</b> (void)</td></tr>
<tr class="separator:add1a2a70d5eb20e4f7e78864a21e9a89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2c3b360def7c741ba3bb6f615ef4a5a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2c3b360def7c741ba3bb6f615ef4a5a"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>set_callback</b> (<a class="el" href="idp_8hpp.html#acf012fe005690e1af26e799617fc98b7">hook_cb_t</a> *_callback, void *_ud)</td></tr>
<tr class="separator:ae2c3b360def7c741ba3bb6f615ef4a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77ecc84d6797982155ebfb1ff3fde22e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77ecc84d6797982155ebfb1ff3fde22e"></a>
<a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>vgrcall</b> (int code, va_list va)</td></tr>
<tr class="separator:a77ecc84d6797982155ebfb1ff3fde22e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c2b7d917970556258f026bc5ff67c96"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c2b7d917970556258f026bc5ff67c96"></a>
<a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>grcall</b> (int code,...)</td></tr>
<tr class="separator:a4c2b7d917970556258f026bc5ff67c96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgdl__graph__t"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgdl__graph__t')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgdl__graph__t.html">gdl_graph_t</a></td></tr>
<tr class="memitem:a6c0d5f84f537752c76fea05adc8fd4f5 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c0d5f84f537752c76fea05adc8fd4f5"></a>
virtual char *<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get_node_label</b> (char *buf, int, int) const </td></tr>
<tr class="separator:a6c0d5f84f537752c76fea05adc8fd4f5 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aace4abf5f89ec0ad5803cb0e89a9f199 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aace4abf5f89ec0ad5803cb0e89a9f199"></a>
virtual void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>print_graph_attributes</b> (FILE *) const </td></tr>
<tr class="separator:aace4abf5f89ec0ad5803cb0e89a9f199 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c8bf1cc6f60b80abcb85d425c50ae0d inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c8bf1cc6f60b80abcb85d425c50ae0d"></a>
virtual bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>print_node</b> (FILE *, int) const </td></tr>
<tr class="separator:a5c8bf1cc6f60b80abcb85d425c50ae0d inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a404ff838e78ea53d2c2e5a91aa103158 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a404ff838e78ea53d2c2e5a91aa103158"></a>
virtual bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>print_edge</b> (FILE *, int, int) const </td></tr>
<tr class="separator:a404ff838e78ea53d2c2e5a91aa103158 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac51d73fd328cf6fdd4901514cb915261 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac51d73fd328cf6fdd4901514cb915261"></a>
virtual void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>print_node_attributes</b> (FILE *, int) const </td></tr>
<tr class="separator:ac51d73fd328cf6fdd4901514cb915261 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a4b3b25ee6f37a408cf2977114364a2 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a4b3b25ee6f37a408cf2977114364a2"></a>
virtual int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> (void) const  =0</td></tr>
<tr class="separator:a0a4b3b25ee6f37a408cf2977114364a2 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98908b1f195942898de7da24b8c9931f inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a98908b1f195942898de7da24b8c9931f"></a>
virtual int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>node_qty</b> (void) const </td></tr>
<tr class="separator:a98908b1f195942898de7da24b8c9931f inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6e47d64206998a71ceb51343d79eed6 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6e47d64206998a71ceb51343d79eed6"></a>
virtual bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>exists</b> (int) const </td></tr>
<tr class="separator:ac6e47d64206998a71ceb51343d79eed6 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb3991d22badf509c0210c1c80a5af6c inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb3991d22badf509c0210c1c80a5af6c"></a>
virtual int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>entry</b> (void) const </td></tr>
<tr class="separator:abb3991d22badf509c0210c1c80a5af6c inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a148a1002f9d6b90d2d247c43cc6581ef inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a148a1002f9d6b90d2d247c43cc6581ef"></a>
virtual int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>exit</b> (void) const </td></tr>
<tr class="separator:a148a1002f9d6b90d2d247c43cc6581ef inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca86aa237767bdb282ad719ebba13232 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca86aa237767bdb282ad719ebba13232"></a>
virtual int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>nsucc</b> (int node) const  =0</td></tr>
<tr class="separator:aca86aa237767bdb282ad719ebba13232 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9c39f091bb4d3311e49af4b3f7bed58 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9c39f091bb4d3311e49af4b3f7bed58"></a>
virtual int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>npred</b> (int node) const  =0</td></tr>
<tr class="separator:ab9c39f091bb4d3311e49af4b3f7bed58 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8abfd2585e5cc01b12bdcd681ca376c4 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8abfd2585e5cc01b12bdcd681ca376c4"></a>
virtual int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>succ</b> (int node, int i) const  =0</td></tr>
<tr class="separator:a8abfd2585e5cc01b12bdcd681ca376c4 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab54d20cf3bbd907d85fb4c85bd2e3337 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab54d20cf3bbd907d85fb4c85bd2e3337"></a>
virtual int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>pred</b> (int node, int i) const  =0</td></tr>
<tr class="separator:ab54d20cf3bbd907d85fb4c85bd2e3337 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c1ecace50d70381cab89913252e5b18 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c1ecace50d70381cab89913252e5b18"></a>
virtual bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>empty</b> (void) const </td></tr>
<tr class="separator:a8c1ecace50d70381cab89913252e5b18 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6aa9c1f25dceacea101608a30bc3f924 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6aa9c1f25dceacea101608a30bc3f924"></a>
virtual <a class="el" href="pro_8h.html#a3df5040891132e50157aee66affdf1de">bgcolor_t</a> <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get_node_color</b> (int) const </td></tr>
<tr class="separator:a6aa9c1f25dceacea101608a30bc3f924 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2b0d8f38a8eebdb5ca8790df5c1ec7e inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2b0d8f38a8eebdb5ca8790df5c1ec7e"></a>
virtual <a class="el" href="pro_8h.html#a3df5040891132e50157aee66affdf1de">bgcolor_t</a> <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get_edge_color</b> (int, int) const </td></tr>
<tr class="separator:ad2b0d8f38a8eebdb5ca8790df5c1ec7e inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bc071da354b304b3f43d39aa824e954 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5bc071da354b304b3f43d39aa824e954"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>gen_gdl</b> (FILE *fp) const </td></tr>
<tr class="separator:a5bc071da354b304b3f43d39aa824e954 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1a5b7c11bc364562d98e33f81689c57 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1a5b7c11bc364562d98e33f81689c57"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>gen_gdl</b> (const char *file) const </td></tr>
<tr class="separator:aa1a5b7c11bc364562d98e33f81689c57 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5d26e74a3847ba957e80d908edd3aa6 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5d26e74a3847ba957e80d908edd3aa6"></a>
size_t <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>nedge</b> (int node, bool ispred) const </td></tr>
<tr class="separator:aa5d26e74a3847ba957e80d908edd3aa6 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa404f01eeafd3574cbc05abdf9421e6 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaa404f01eeafd3574cbc05abdf9421e6"></a>
int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>edge</b> (int node, int i, bool ispred) const </td></tr>
<tr class="separator:aaa404f01eeafd3574cbc05abdf9421e6 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedc53d9164372f5aab637bf2b2e497a0 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aedc53d9164372f5aab637bf2b2e497a0"></a>
int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>front</b> (void)</td></tr>
<tr class="separator:aedc53d9164372f5aab637bf2b2e497a0 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53d4808175bdddaa4767a868a056f64c inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53d4808175bdddaa4767a868a056f64c"></a>
<a class="el" href="classnode__iterator.html">node_iterator</a> <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>begin</b> (void) const </td></tr>
<tr class="separator:a53d4808175bdddaa4767a868a056f64c inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac5efd221b1e29a1ec7571adadecb7d1 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac5efd221b1e29a1ec7571adadecb7d1"></a>
<a class="el" href="classnode__iterator.html">node_iterator</a> <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>end</b> (void) const </td></tr>
<tr class="separator:aac5efd221b1e29a1ec7571adadecb7d1 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1e68dd6a18d00595bcf3ded8df9fcdd inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1e68dd6a18d00595bcf3ded8df9fcdd"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>path_exists</b> (int m, int n) const </td></tr>
<tr class="separator:ab1e68dd6a18d00595bcf3ded8df9fcdd inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66333839a0ecf82c195e05ae693764c8 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66333839a0ecf82c195e05ae693764c8"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>gen_dot</b> (FILE *fp) const </td></tr>
<tr class="separator:a66333839a0ecf82c195e05ae693764c8 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab745715dbcb0a9d9d7257d6e5bdbe232 inherit pub_methods_classgdl__graph__t"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab745715dbcb0a9d9d7257d6e5bdbe232"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>gen_dot</b> (const char *file) const </td></tr>
<tr class="separator:ab745715dbcb0a9d9d7257d6e5bdbe232 inherit pub_methods_classgdl__graph__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a37dd5cdad9ab1efbca133f783d8e9547"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37dd5cdad9ab1efbca133f783d8e9547"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a37dd5cdad9ab1efbca133f783d8e9547">get_connected_components</a> (<a class="el" href="classintseq__t.html">intseq_t</a> &amp;entries) const </td></tr>
<tr class="memdesc:a37dd5cdad9ab1efbca133f783d8e9547"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns one entry point for each connected component. <br /></td></tr>
<tr class="separator:a37dd5cdad9ab1efbca133f783d8e9547"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a484b3ea84d6cc053c78856933fce84b6"><td class="memItemLeft" align="right" valign="top">int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a484b3ea84d6cc053c78856933fce84b6">calc_longest_pathes</a> (const <a class="el" href="classnode__set__t.html">node_set_t</a> &amp;entries, <a class="el" href="classintseq__t.html">intseq_t</a> &amp;tops, int row_height) const </td></tr>
<tr class="memdesc:a484b3ea84d6cc053c78856933fce84b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find longest paths from the entries.  <a href="#a484b3ea84d6cc053c78856933fce84b6">More...</a><br /></td></tr>
<tr class="separator:a484b3ea84d6cc053c78856933fce84b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee89a4c5e8170600e5dd1e0a91cd1b0d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee89a4c5e8170600e5dd1e0a91cd1b0d"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#aee89a4c5e8170600e5dd1e0a91cd1b0d">move_nodes_down</a> (<a class="el" href="classintseq__t.html">intseq_t</a> &amp;tops, const <a class="el" href="classnode__ordering__t.html">node_ordering_t</a> &amp;post, int first_reverser_node, int row_height) const </td></tr>
<tr class="memdesc:aee89a4c5e8170600e5dd1e0a91cd1b0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move entry nodes down as much as possible. <br /></td></tr>
<tr class="separator:aee89a4c5e8170600e5dd1e0a91cd1b0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dc23f584de3b4c083a7e0e67dd23d77"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0dc23f584de3b4c083a7e0e67dd23d77"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a0dc23f584de3b4c083a7e0e67dd23d77">create_graph_row_info</a> (const <a class="el" href="classintseq__t.html">intseq_t</a> &amp;tops, <a class="el" href="graph_8hpp.html#aad0d514605345a6a88e930c152ce48ff">graph_row_info_t</a> &amp;gri, int graph_height) const </td></tr>
<tr class="memdesc:a0dc23f584de3b4c083a7e0e67dd23d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create graph row info from 'tops'. <br /></td></tr>
<tr class="separator:a0dc23f584de3b4c083a7e0e67dd23d77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58424b4d72ab2be097fb1ae2b99049bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58424b4d72ab2be097fb1ae2b99049bf"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a58424b4d72ab2be097fb1ae2b99049bf">calc_row_heights</a> (<a class="el" href="graph_8hpp.html#aad0d514605345a6a88e930c152ce48ff">graph_row_info_t</a> &amp;gri) const </td></tr>
<tr class="memdesc:a58424b4d72ab2be097fb1ae2b99049bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate height of each row. <br /></td></tr>
<tr class="separator:a58424b4d72ab2be097fb1ae2b99049bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3759a9d88536b669f4df7460d828a9bd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3759a9d88536b669f4df7460d828a9bd"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a3759a9d88536b669f4df7460d828a9bd">minimize_crossings</a> (<a class="el" href="graph_8hpp.html#aad0d514605345a6a88e930c152ce48ff">graph_row_info_t</a> &amp;gri) const </td></tr>
<tr class="memdesc:a3759a9d88536b669f4df7460d828a9bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimize crossings. <br /></td></tr>
<tr class="separator:a3759a9d88536b669f4df7460d828a9bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42908d6ce30968bd5bd88424736c124f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42908d6ce30968bd5bd88424736c124f"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a42908d6ce30968bd5bd88424736c124f">set_x_coords</a> (const <a class="el" href="graph_8hpp.html#aad0d514605345a6a88e930c152ce48ff">graph_row_info_t</a> &amp;gri, const <a class="el" href="classnode__set__t.html">node_set_t</a> &amp;selfrefs, int first_added_node)</td></tr>
<tr class="memdesc:a42908d6ce30968bd5bd88424736c124f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate x coords of all nodes. <br /></td></tr>
<tr class="separator:a42908d6ce30968bd5bd88424736c124f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c324bf21f9e61562ce96471a631663c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c324bf21f9e61562ce96471a631663c"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a8c324bf21f9e61562ce96471a631663c">gather_edge_segments</a> (const <a class="el" href="graph_8hpp.html#aad0d514605345a6a88e930c152ce48ff">graph_row_info_t</a> &amp;gri, edge_segs_vec_t &amp;ges) const </td></tr>
<tr class="memdesc:a8c324bf21f9e61562ce96471a631663c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gather information about all edge segments. <br /></td></tr>
<tr class="separator:a8c324bf21f9e61562ce96471a631663c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc65ca2c3f754f626fce3a96c028cf5c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acc65ca2c3f754f626fce3a96c028cf5c"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#acc65ca2c3f754f626fce3a96c028cf5c">make_rect_edges</a> (<a class="el" href="graph_8hpp.html#aad0d514605345a6a88e930c152ce48ff">graph_row_info_t</a> &amp;gri, const edge_segs_vec_t &amp;ges, int first_reverser_node)</td></tr>
<tr class="memdesc:acc65ca2c3f754f626fce3a96c028cf5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Make all edges rectangular. <br /></td></tr>
<tr class="separator:acc65ca2c3f754f626fce3a96c028cf5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a829d9f62d89a3f92e9e6df10cb3cb6bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a829d9f62d89a3f92e9e6df10cb3cb6bb"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a829d9f62d89a3f92e9e6df10cb3cb6bb">assign_edge_ports</a> (const <a class="el" href="graph_8hpp.html#aad0d514605345a6a88e930c152ce48ff">graph_row_info_t</a> &amp;gri, const <a class="el" href="classnode__set__t.html">node_set_t</a> &amp;selfrefs)</td></tr>
<tr class="memdesc:a829d9f62d89a3f92e9e6df10cb3cb6bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign ports to edges. <br /></td></tr>
<tr class="separator:a829d9f62d89a3f92e9e6df10cb3cb6bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a011688754fd6c5afb59d0b9e868755d0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a011688754fd6c5afb59d0b9e868755d0"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a011688754fd6c5afb59d0b9e868755d0">recalc_edge_widths</a> (const edgeset_t &amp;back_edges, const edge_infos_t &amp;self_edges)</td></tr>
<tr class="memdesc:a011688754fd6c5afb59d0b9e868755d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recalculate width of all edges. <br /></td></tr>
<tr class="separator:a011688754fd6c5afb59d0b9e868755d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15f85acf76be7b529731f9c8c56577cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a15f85acf76be7b529731f9c8c56577cc"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a15f85acf76be7b529731f9c8c56577cc">clear_layout_info</a> (void)</td></tr>
<tr class="memdesc:a15f85acf76be7b529731f9c8c56577cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear layout information in the graph. <br /></td></tr>
<tr class="separator:a15f85acf76be7b529731f9c8c56577cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa69b9ec0a8fedb67eac440f43c143a87"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa69b9ec0a8fedb67eac440f43c143a87"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>depth_first</b> (<a class="el" href="classnode__ordering__t.html">node_ordering_t</a> *pre, <a class="el" href="classnode__ordering__t.html">node_ordering_t</a> *post, edge_typer_t *et) const </td></tr>
<tr class="separator:aa69b9ec0a8fedb67eac440f43c143a87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28d7643b8bcac3d1caf3fd6ef836acd0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28d7643b8bcac3d1caf3fd6ef836acd0"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>create_spanning_tree</b> (edge_typer_t *et, <a class="el" href="classnode__set__t.html">node_set_t</a> *entries, edgeset_t *back_edges, <a class="el" href="classnode__ordering__t.html">node_ordering_t</a> *pre, <a class="el" href="classnode__ordering__t.html">node_ordering_t</a> *post) const </td></tr>
<tr class="separator:a28d7643b8bcac3d1caf3fd6ef836acd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefef04f756b215e600c2c967ffff4aa7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefef04f756b215e600c2c967ffff4aa7"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>tree_layout</b> (edge_typer_t &amp;et, const <a class="el" href="classnode__set__t.html">node_set_t</a> &amp;entries)</td></tr>
<tr class="separator:aefef04f756b215e600c2c967ffff4aa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4151e5cf605d6a6bc173f2e52cff4b23"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4151e5cf605d6a6bc173f2e52cff4b23"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a4151e5cf605d6a6bc173f2e52cff4b23">path_back</a> (const <a class="el" href="classqvector.html">array_of_node_set_t</a> &amp;domin, int m, int n) const </td></tr>
<tr class="memdesc:a4151e5cf605d6a6bc173f2e52cff4b23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is there a path from M to N which terminates with a back edge to N? <br /></td></tr>
<tr class="separator:a4151e5cf605d6a6bc173f2e52cff4b23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06547cc66a61cbe6f7e3114ebda884ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06547cc66a61cbe6f7e3114ebda884ce"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><b>path_back</b> (edge_typer_t &amp;et, int m, int n) const </td></tr>
<tr class="separator:a06547cc66a61cbe6f7e3114ebda884ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b5fea46ace6b1d8647b8dc18f9e4749"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b5fea46ace6b1d8647b8dc18f9e4749"></a>
int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a1b5fea46ace6b1d8647b8dc18f9e4749">visit_nodes</a> (int node, <a class="el" href="classgraph__node__visitor__t.html">graph_node_visitor_t</a> &amp;gv) const </td></tr>
<tr class="memdesc:a1b5fea46ace6b1d8647b8dc18f9e4749"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit nodes starting from 'node', depth first. <br /></td></tr>
<tr class="separator:a1b5fea46ace6b1d8647b8dc18f9e4749"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2364d0153654aa850668f9f64611f586"><td class="memItemLeft" align="right" valign="top">int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html#a2364d0153654aa850668f9f64611f586">visit_paths</a> (int node, <a class="el" href="structgraph__path__visitor__t.html">graph_path_visitor_t</a> &amp;gv) const </td></tr>
<tr class="memdesc:a2364d0153654aa850668f9f64611f586"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit all possible paths starting from 'node'.  <a href="#a2364d0153654aa850668f9f64611f586">More...</a><br /></td></tr>
<tr class="separator:a2364d0153654aa850668f9f64611f586"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a484b3ea84d6cc053c78856933fce84b6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> abstract_graph_t::calc_longest_pathes </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classnode__set__t.html">node_set_t</a> &amp;&#160;</td>
          <td class="paramname"><em>entries</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classintseq__t.html">intseq_t</a> &amp;&#160;</td>
          <td class="paramname"><em>tops</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>row_height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Find longest paths from the entries. </p>
<p>take into account node heights. if row_height &gt; 0, then use it instead of real node heights. return max distance found </p>

</div>
</div>
<a class="anchor" id="a2364d0153654aa850668f9f64611f586"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> abstract_graph_t::visit_paths </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structgraph__path__visitor__t.html">graph_path_visitor_t</a> &amp;&#160;</td>
          <td class="paramname"><em>gv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Visit all possible paths starting from 'node'. </p>
<p>A path can not contain the same node twice. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="graph_8hpp.html">graph.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
